﻿using Joy.Erp.BasicArchives.Core;
using Joy.Erp.BasicArchives.Core.UniqueCodes;
using Joy.Erp.BasicArchives.Procurements;
using Joy.Erp.BasicArchives.Suppliers;
using System;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;

namespace Joy.Erp.BasicArchives.Asns
{
    /// <summary>
    /// ASN单
    /// </summary>
    public class Asn : DocumentAggregateRoot<AsnLine>, IMultiTenant, IUniqueCode, IHasConcurrencyStamp
    {
        /// <summary>
        /// 所属租户
        /// </summary>
        public Guid? TenantId { get; set; }

        /// <summary>
        /// 单据类型
        /// </summary>
        public Guid OrderTypeId { get; set; }

        /// <summary>
        /// 单据类型
        /// </summary>
        public AsnType OrderType { get; set; }

        /// <summary>
        /// 供应商
        /// </summary>
        public Guid SupplierId { get; set; }

        /// <summary>
        /// 供应商
        /// </summary>
        public Supplier Supplier { get; set; }

        /// <summary>
        /// 发货联系人
        /// </summary>
        public string ShipmentContact { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        /// 车牌号
        /// </summary>
        public string LicensePlate { get; set; }

        /// <summary>
        /// 发货日期
        /// </summary>
        public DateTime? ShipmentDate { get; set; }

        /// <summary>
        /// 预计到达日期
        /// </summary>
        public DateTime? ArriveDate { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Mark { get; set; }
    }
}
